home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / vbcc.lha / vbcc / doc / History < prev    next >
Text File  |  1998-02-19  |  47KB  |  1,032 lines

  1. vbcc is (c) in 1995-97 by Volker Barthelmann
  2.  
  3. (cga68k):  changes in the code generator for amiga68k/unix68k
  4. (cgi386):  changes in the code generator for i386
  5. (cgppc):   changes in the code generator for ppc
  6. (cgalpha): changes in the code generator for alpha
  7. (cla68k):  changes in the C library for amiga68k
  8. (vca68k):  changes in the compiler frontend for amiga68k
  9. (vcu68k):  changes in the compiler frontend for unix68k
  10.  
  11.  
  12.  
  13. Changes since V0.6
  14.  
  15. - bug fix: functions returning structs
  16. - bug fix: str(n)icmp in extra.lib (cla68k/clappc)
  17. - added some simple elimination of redundant compare/bccs
  18. - added loop-unrolling for certain loop-invariant number of iterations
  19. - fixed names of some dos-varargs-functions in vargs.h (cla68k/clappc)
  20. - -use-lmw added (cgppc)
  21. - some work on -peephole (cgppc)
  22. - bug fix: signed right-shifts (cgppc)
  23. - newmalloc made standard (cla68k)
  24. - fixed some bugs in addressing (cgm68k)
  25. - BeginIO added to libamiga.a
  26. - fixed certain type-conversions (cgppc)
  27. - some bug fixes (cgalpha)
  28. - added NOEXE to config-files using PhxAss
  29. - bug fix: replaced buggy strncpy (cla68k/clappc)
  30. - support for stack-frames larger than 32KB added (cgppc)
  31. - some changes in the code-generator for ppc (cgppc)
  32. - new pasm can replace branches >16bit (config-files changed)
  33.  
  34. Changes since V0.5k
  35.  
  36. - -ml option added to vc
  37. - remove() and rename() added (clappc)
  38. - vc accepts +file anywhere now
  39.  
  40. Changes since V0.5j
  41.  
  42. - -setccs added (cgppc)
  43. - bug fix: some bugs for ppc fixed (cgppc)
  44. - bug fix: problems with SUBPFP in ic.c
  45. - bug fix: do_refs() had problems with pointer-constants (cgm68k)
  46. - bug fix: similar problem for i386 (cgi386)
  47. - obsolete EOF-check in main() removed
  48. - format for -cc/-ccv changed (vc)
  49. - + does not need the full path anymore (vc)
  50.  
  51. Changes since V0.5i
  52.  
  53. - fixed minor bugs in strcmp, strncmp and memcmp (cla68k,clappc)
  54. - fixed certain problems with regargs
  55. - some bug-fixes (cgppc,cgalpha)
  56. - bug-fix: KONST|DREFOBJ was incorrectly propagated as constant
  57. - hacked fd2lib to create libcall-includes (cla68k)
  58.  
  59. Changes since V0.5h
  60.  
  61. - -ul added to vc
  62. - -no-regnames added (cgppc)
  63. - changed gen_cond() void
  64. - support for struct-return and HAVE_REGPARMS
  65. - several bug-fixes (cgppc,cgalpha)
  66. - removed debugging-output in printzul
  67. - warning 208 extended to simple endless loops
  68. - cyclic dependencies in load_reg_parms are handled now
  69. - several bug fixes (cgppc)
  70.  
  71. Changes since V0.5g
  72.  
  73. - argument-registers were assigned before rewriting array/function-types
  74. - r2 is reserved (cgppc)
  75. - warning 168 is no more displayed for main()
  76. - bug-fix: alignment of floating-point-constants not always ok (cgppc,cgi386)
  77. - bug-fix: sub const with short types (cgppc)
  78. - function-inlining works with register-parameters
  79. - added stdarg-support (cgppc)
  80. - leaf-functions don't creat a stack-frame (cgppc)
  81. - some bug fixes (cgppc)
  82. - several changes in handling of alignments
  83. - added support for modulo (cgppc)
  84. - some modifications on alignments (cgm68k,cgppc)
  85. - -amiga-align added (cgppc)
  86. - mysupp included in extra.lib (cla68k)
  87. - some docs updated
  88. - added memread_id, memwrite_id and memwrite_completely to vsc.h
  89. - added inline-assembly-functions
  90.  
  91. Changes since V0.5f
  92.  
  93. - added examples of stdarg.h into the codegen-docs
  94. - -save-fp added (cgi386)
  95. - bug fix: conversions int<->char and %esi etc. (cgi386)
  96. - warning 170 turned off by default
  97. - bug fix: corrected prototype for strerror() (cla68k)
  98. - no-builtins added (cgalpha)
  99. - added some builtin faunctions (cgalpha)
  100. - ?: now works with non-scalars
  101. - dtgen is easier to use when not building a cross-compiler
  102. - __typeof added
  103. - conversions of DREFOBJ sometimes generated illegal assembly on
  104.   alpha (cgalpha)
  105.  
  106. Changes since V0.5e
  107.  
  108. - cg_copyright added
  109. - increased default-values for unroll-size and inline-size
  110. - some changes for PPC (cgppc)
  111. - bug fix: declarations with empty identifiers were accepted
  112. - bug fix: read_config() read one byte too much in vc (vc)
  113. - bug fix: warning 226 added
  114. - some optimizations for Alpha (cgalpha)
  115. - more conservative handling of copy-propagation and structs/unions
  116. - better handling of alignment of compund types
  117. - bug fix: local_regs() generated duplicate FREEREGs if a register
  118.            was exchanged in free_hreg()
  119. - bug fix: moveq was used incorrectly sometimes (cgm68k)
  120. - bug fix: problems with must_convert() for m68k (cgm68k)
  121. - bug fix: sometimes scratch registers were reused too early with
  122.            a op= b
  123.  
  124. Changes since V0.5d
  125.  
  126. - added warnings 224 and 225
  127. - bug fix: parsing of format-strings works better now
  128. - inlined calls don't increase <function_calls>
  129. - some work on the code-generator for alpha
  130. - bug fix: function-inlining didn't work with register parameters
  131. - clearing am before gen_dc
  132.  
  133. Changes since V0.5c
  134.  
  135. - new Makefile
  136. - better support for crosscompilers and emulation of data types
  137. - bug fix: several bugs fixed
  138. - a68k/amiga68k became m68k
  139.  
  140. Changes since V0.5b
  141.  
  142. - bug fix: corrupt alias info in frequency-reduction
  143. - bug fix: loop1 in flow.c
  144. - bug fix: arith_opt() converted uninitialized var
  145. - uses ffree for i386 (cgi386)
  146. - added supp.h/c; started to separate C-specific parts
  147.  
  148. Changes since V0.5a
  149.  
  150. - setvbuf works better now (cla68k)
  151. - bug fix: float/double->unsigned char/short works correct with FPU now (cga68k)
  152. - -longalign added (cgi386)
  153. - bug fix: mieee.lib closed wrong library (cla68k)
  154. - bug fix: typo in default rule of Makefile
  155. - added warning 222
  156. - bug fix: addressing-modes with 68020+ (cga68k)
  157. - bug fix: local register allocation when optimizing
  158. - bug fix: create_loop_headers had problems with empty basic blocks
  159. - bug fix: enforcer hit and incorrect warnings in certain while- and
  160.            for-expressions when optimizing
  161. - bug fix: parsing of certain declarations was buggy
  162.  
  163. Changes since V0.5
  164.  
  165. - loop-unrolling now works with multiple ccs
  166. - work on the ppc code generator (cgppc)
  167. - bug fix: old-style function-definitions with '...' didn't give a diagnostic
  168. - bug fix: missing ',' in function calls didn't give a diagnostic
  169. - bug fix: certain missing brackets around initializers didn't give a
  170.            diagnostic
  171. - bug fix: in certain cases wrong code for divisions was generated (cgi386)
  172. - bug fix: optimizing local register allocation had problems with USEQ2ASZ
  173. - local_regs() tries to use best reg with SETRETURN
  174. - started support for default argument passing in registers
  175. - bug fix: rearranging of array-accesses was buggy with DREFOBJs
  176. - bug fix: loading of parameters into registers was sometimes wrong if there
  177.            was a jump to the first basic block after optimization
  178. - bug fix: casting to void and conditional-expressions with void caused
  179.            problems
  180.  
  181. Changes since V0.4f
  182.  
  183. - bug fix: there was a bug with local register allocation and optimizing
  184. - bug fix: t_max[CHAR] was wrong :-) (cga68k, cgi386, cgppc)
  185. - ixemul-support updated (cla68k)
  186. - bug fixed: initialized arrays with unspecified size always increased size
  187.              of stack frame
  188. - work on the i386 code generator (cgi386)
  189. - fixed bug with register parameters and optimizer
  190. - a4 is saved when geta4 is called (cga68k)
  191.  
  192. Changes since V0.4e
  193.  
  194. - small improvements on the i386 code generator (cgi386)
  195. - bug fix: minor bug in loop-unrolling with TEST
  196. - bug fix: there was a check missing in type_expr/CALL
  197. - bug fix: do not use addressing modes if base register was freed (cga68k)
  198. - added new m040.lib by Aki M Laukkanen (cla68k)
  199. - added elf-support and -elf option to i386 code generator (cgi386)
  200. - bug fixed: _ctype_.c in vcs.lib had been built with large data (cla68k)
  201. - __reg added
  202. - added support for parameter passing in registers
  203. - small changes in local optimizing register allocation
  204.  
  205. Changes since V0.4d
  206.  
  207. - arguments for mieee-functions are passed in different order now; rebuilt
  208.   mieee.lib (cga68k, cla68k)
  209. - changed directory-structure, Makefile and frontend
  210. - bug fixed: certain struct initializations got the alignment wrong (bug
  211.              was probably introduced recently)
  212. - included new PhxLnk
  213. - included startup-code for ixemul.library by Frank Wille
  214. - changed default vc.config (-Ivinclude: put at the end)
  215. - better error handling when parsing enums
  216. - fixed a bug with struct-assigns and improved them a bit (cga68k)
  217. - moved a } in killsp()
  218. - slightly better